package dao

import (
	"time"
)

// 这是 UmsMemberLoginLog 的全局公开dao对象，被service层调用!
var UmsMemberLoginLogDao = umsMemberLoginLogDao{}

// 这是 ums_member_login_log表 的实体类
type UmsMemberLoginLog struct {
	City       string    `json:"city" form:"city" v:"city"`
	CreateTime time.Time `json:"create_time" form:"create_time" v:"create_time"`
	Id         int64     `json:"id" form:"id" v:"id"`
	Ip         string    `json:"ip" form:"ip" v:"ip"`
	LoginType  int32     `json:"login_type" form:"login_type" v:"login_type"` // 登录类型：0-&gt;PC；1-&gt;android;2-&gt;ios;3-&gt;小程序
	MemberId   int64     `json:"member_id" form:"member_id" v:"member_id"`    // 这是一个逻辑外键,关联ums_member(id)
	Province   string    `json:"province" form:"province" v:"province"`
}

// 注意:这是 UmsMemberLoginLog 的私有dao对象，只能在dao层内使用!
type umsMemberLoginLogDao struct {
	InsertTemplate func(arg UmsMemberLoginLog) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg UmsMemberLoginLog) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                            `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (UmsMemberLoginLog, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]UmsMemberLoginLog, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 ums_member_login_log 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type UmsMemberLoginLogPostman struct {
city
create_time
id
ip
login_type
member_id
province

}*/

// 这是 ums_member_login_log 表的批量请求参数
type UmsMemberLoginLogReq struct {
	List []UmsMemberLoginLog `json:"list" form:"list"`
}
